package com.ruoyi.pg.evaluate.vo;

import java.math.BigDecimal;
import java.util.List;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.pg.evaluate.domain.PgAssessment;
import com.ruoyi.pg.questionnaire.vo.PgSurveyVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

/**
 * 评估Vo对象 pg_assessment
 *
 * @author Ming
 * @date 2025-08-22
 */
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class PgAssessmentVo extends PgAssessment {
    /**
     * 序号列
     */
    @Excel(name = "序号", cellType = Excel.ColumnType.NUMERIC, prompt = "序号", sort = 0)
    private Integer rowNum;
    /**
     * 评估人员名称
     */
    @Excel(name = "姓名", sort = 1)
    private String elderName;
    /**
     * 性别（0男 1女 2未知）
     */
    @Excel(name = "性别", readConverterExp = "0=男,1=女,2=未知", sort = 2)
    private String sex;

    /**
     * 年龄
     */
    private String age;

    /**
     * 得分
     */
    private String score;

    /**
     * 能力等级 评估结果
     */
    @Excel(name = "能力等级 评估结果", sort = 4, width = 60)
    private String abilityLevel;

    /**
     * 自理等级 评估结果
     */
    @Excel(name = "自理等级 评估结果", sort = 5, width = 60)
    private String selfCareLevel;

    /**
     * 评估员
     */
    private String evaluator;
    /**
     * 模板名称
     */
    private String tempName;
    /**
     * 项目id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long projectId;
    /**
     * 养老院
     */
    private String nursinghome;
    /**
     * 头像
     */
    private String headLogo;
    /**
     * 身份证号
     */
    @Excel(name = "身份证号", sort = 3, width = 30)
    private String idNo;

    /**
     * 评估模板列表
     */
    private List<PgSurveyVo> surveyList;

    /**
     * 完成度
     */
    private BigDecimal completion;

    /**
     * 问题数量
     */
    private Integer questionNum;

    /**
     * 答题数量
     */
    private Integer answerNum;

    /**
     * 选择id列表
     */
    private List<Long> ids;
}
